package com.haima.sage.bigdata.api.vo.param;

import com.haima.sage.bigdata.api.vo.BaseParam;
import com.haima.sage.bigdata.api.vo.OrderParam;
import com.haima.sage.bigdata.api.vo.param.agg.Agg;
import com.haima.sage.bigdata.api.vo.param.group.Having;

import java.util.List;

/**
 * SELECT ${groupBys}, ${aggs}
 * FROM ${table}
 * WHERE ${where}
 * GROUP BY ${groupBys}
 * HAVING ${havings}
 */
public class AggParam extends OrderParam {
    private List<Agg> aggs;
    private List<String> groupBys;
    private Having having;
    private Integer offset = 0;
    private Integer limit;

    public List<Agg> getAggs() {
        return aggs;
    }

    public void setAggs(List<Agg> aggs) {
        this.aggs = aggs;
    }

    public List<String> getGroupBys() {
        return groupBys;
    }

    public void setGroupBys(List<String> groupBys) {
        this.groupBys = groupBys;
    }

    public Having getHaving() {
        return having;
    }

    public void setHaving(Having having) {
        this.having = having;
    }

    public Integer getOffset() {
        return offset;
    }

    public void setOffset(Integer offset) {
        this.offset = offset;
    }

    public Integer getLimit() {
        return limit;
    }

    public void setLimit(Integer limit) {
        this.limit = limit;
    }
}
